// 导入全局的scss样式文件
import '@/styles/index.scss'
import App from '@/App.vue'
import {createApp} from 'vue'
// 导入svg插件配置
// @ts-ignore
import 'virtual:svg-icons-register'
// 导入组件库样式
import 'element-plus/dist/index.css'
// 导入组件库
import ElementPlus from 'element-plus'
// 默认语言是英语，从组件库导入中文语言包
import zhCn from 'element-plus/es/locale/lang/zh-cn'
// 引入组件库中所有图标
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
// 引入注册全局组件
import gloablComponent from '@/components'
// 引入路由组件
import router from '@/router/index.ts'
// 导入全局工作类
import utils from "@/utils/utils.ts";
// 导入Pinia组件
import pinia from "@/store";

// 创建vue实例
const app = createApp(App);
// 注册路由组件
app.use(router)
// 注册Pinia组件
app.use(pinia)
// 注册所有icon
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component)
}
// 使用element-plus组件
app.use(ElementPlus, {
    locale: zhCn,
})
// 注册全局组件
app.use(gloablComponent)
// 将工具类挂载到 Vue 原型链上
app.config.globalProperties.$utils = utils;
// 挂在到根容器
app.mount('#app')
